home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / stut_src / s_malloc.h < prev    next >
C/C++ Source or Header  |  1995-07-27  |  2KB  |  51 lines

  1. /*
  2.  * Special MALLOC library
  3.  * Copyright (c)1995 by Fran‡ois PLANQUE
  4.  *
  5.  * Header contenant les prototypes et les macros n‚cessaires
  6.  * … l'utilisation de la bibliothŠque.
  7.  *
  8.  * Include  #include "S_MALLOC.H" dans les modules … d‚buguer
  9.  * puis utiliser MALLOC() … la place de malloc() etc...
  10.  */
  11.  
  12. /*
  13.  * Enlever cette ligne pour le mode RELEASE:
  14.  */
  15. #define    DEBUG_MALLOC
  16.  
  17. #ifdef    DEBUG_MALLOC    
  18.     #define    MCHECK( x )            S_Check( x )
  19.     #define    MALLOC( x )            S_malloc( x )
  20.     #define    STRDUP( x )            S_strdup( x )
  21.     #define    REALLOC( x, y )    S_realloc( x, y )
  22.     #define    FREE( x )            S_free( x )
  23.     #define    MEMSTAT()            S_MemStat();
  24.  
  25.     extern    void * S_Check(                /* Out: adresse de la zone avec head & foot */
  26.                             void * p_manip );    /* In:  adresse de manipulation */
  27.  
  28.     extern    void * S_malloc(                 /* Out: Ptr sur la zone allou‚e (comme avec malloc()) */
  29.                             size_t size );        /* In:  taille dela zone … allouer */
  30.  
  31.     extern    char * S_strdup(                             /* Out: Ptr sur copie de la chaŒne */
  32.                             const char * cpsz_src );    /* In:  Ptr sur la chaŒne … dupliquer */
  33.  
  34.     extern    void * S_realloc(             /* Out: Ptr sur la nouvelle zone allou‚e */
  35.                             void * p_manip,     /* In:  Ptr sur une zone allou‚e */
  36.                             size_t size );        /* In:  Nouvelle taille d‚sir‚e pour cette zone */
  37.  
  38.     extern    void S_free( void * p_manip );    /* In: Ptr sur une zone m‚moire allou‚e */
  39.  
  40.     extern    void S_MemStat( void );
  41.  
  42. #else
  43.     #include <stdlib.h>
  44.     
  45.     #define    MCHECK( x )            
  46.     #define    MALLOC( x )            malloc( x )
  47.     #define    STRDUP( x )            strdup( x )
  48.     #define    REALLOC( x, y )    realloc( x, y )
  49.     #define    FREE( x )            free( x )
  50.     #define    MEMSTAT()
  51. #endif